home *** CD-ROM | disk | FTP | other *** search
- package sun.misc;
-
- import netscape.misc.WeakLink;
-
- public abstract class Ref {
- static int lruclock;
- private WeakLink thing;
- private long priority;
-
- public Object get() {
- Object var1 = this.thing.get();
- if (var1 == null) {
- synchronized(this){}
-
- try {
- if (this.thing.get() == null) {
- var1 = this.reconstitute();
- this.thing.set(var1);
- }
- } catch (Throwable var4) {
- throw var4;
- }
- }
-
- this.priority = (long)(++lruclock);
- return this.thing.get();
- }
-
- public abstract Object reconstitute();
-
- public void flush() {
- this.thing.set((Object)null);
- }
-
- public void setThing(Object var1) {
- this.thing.set(var1);
- }
-
- public Object check() {
- return this.thing.get();
- }
-
- public Ref() {
- this.priority = (long)(++lruclock);
- this.thing = new WeakLink((Object)null);
- }
- }
-